// pages/foodList/foodList.js
import { getFoodByCategory } from '../../http/api';

Page({
  navigateBack: function() {
    wx.navigateBack({
      delta: 1 // 返回的页面数，如果 delta 大于现有页面数，则返回到首页。
    });
  },
  /**
   * 页面的初始数据
   */
  data: {
    foods: [],
    mealType:'',
    isEditMode:false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const action = options.action;
    const categoryId = options.categoryId;
    const mealType = options.mealType;
    if (categoryId) {
      this.loadFoodsByCategory(categoryId); // 根据分类ID加载食物列表
    }
    if(mealType) {
      this.setData({ mealType });
    }
    if(action) {
      this.setData({ isEditMode:action=='edit'?true:false })
    }
  },
  /**
 * 根据分类ID加载食物列表
 */
  loadFoodsByCategory: function (categoryId) {
    // 显示加载提示
    wx.showLoading({
      title: '加载中...',
    });    
    // 调用后端接口
    getFoodByCategory({ category: categoryId }) // 调用 api.js 中的方法    
      .then(response => {
        // 隐藏加载提示
        wx.hideLoading();
        if (response.success) {
         // 对返回的数据进行处理
        const processedFoods = response.data.map(food => {
          return {
            ...food,
            image: `https://wechatobject-1355794559.cos.ap-guangzhou.myqcloud.com/food/${food.image}.png` // 拼接完整的图片 URL
          };
        });
          this.setData({ foods : processedFoods }); // 更新页面数据
        } else {
          // 如果没有找到对应分类的食物
          wx.showToast({
            title: response.message || '未找到对应分类的食物',
            icon: 'none',
          });
        }
      })
      .catch(error => {
        // 隐藏加载提示
        wx.hideLoading();

        // 网络请求失败
        wx.showToast({
          title: '网络错误，请稍后重试',
          icon: 'none',
        });
        console.error('请求失败:', error);
      });      
    },

  /**
   * 食物点击处理
   */
  onFoodTap: function(e) {
    const foodId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/foodDetail/foodDetail?id=${foodId}&action=${this.data.isEditMode?'edit':'query'}`
    });
  },
})